/***********************************************************************/
/* (xterm)          Help file for The Hessling Editor             1.5  */
/***********************************************************************/

 Command-line invocation:
 
 the [-h?nms] [-p profile] [-a profile_arg] [-w width] [[dir] [file [...]]]
 
  Where:
    -h or -?      Display usage information and version.
    -n            Do not execute a profile file.
    -m            Force display into mono, ignoring colour support.
    -s            A debugging aid for Unix versions. Turns off signal trapping.
    -p profile    The name of the profile file to use.  If not specified,
                  the file "PROFILE.THE" will be used, unless overridden
                  by the environment variable "THE".
    -a prof-arg   Used to pass a string to the profile file as argument.
                  Only works with REXX macros.
    -w width      Length of longest line THE can handle (default 2048)
    dir           Will display a directory of the specified dir.
    file [..]     Specifications of file(s) to edit.  If multiple files
                  are specified, each will be put in a separate file in
                  the ring.  The first one specified will be displayed.
                  If no files are specified, the current directory will
                  be displayed.
                  Issuing [SOS EDIT] on a file spec will edit that file.
                  [SOS EDIT] on a subdir will display that directory.
 
    Option flags must be specified in LOWER case.


 Environment variables used:
 --------------------------
 See Appendix 1 of the.man

 Notes:
  - The capitalised portion of a command is the minimum abbreviation
    for the command.
  - UP, DOWN, NEXT differ from XEDIT and Kedit in that they do not
    accept numerical arguments abutted to the command name.
    Thus "N3" is not supported.


                                                                Allowed
THE Commands:                                                  in Profile
-------------------------------------------------------------------------
 ! [command...]
       Execute host command; pause before returning
 ?
       Retrieve last command from command line
 =                                                                 Y
       Execute the last command issued on the
       command line
 ADD [n]                                                           Y
       insert [n] blank lines below current line
 BAckward [n|*]
       move backward through the file [n] screens
 BOTtom                                                            Y
       got to bottom of file
 CANcel                                                            Y
       Quit out of all files in the ring that do
       not have any pending changes
 CCancel                                                           Y
       Qquit out of all files in the ring ignoring
       files that have pending changes
 Change /string1/string2/ [target] [n] [m]                         Y
       changes n occurrences of string1 to string2
       for target
 CMSG [message]                                                    Y
       display message on command line
 COMMAND command [options]                                         Y
       execute command without synonym or macro transation
 COPY BLOCK [RESET]
       copies marked block after focus line
 DEFine key-name command|nop [parameters]                          Y
       Assigns key to execute command and parameters.
       Cannot be used to define macros.
 DELete [target|BLOCK]                                             Y
       delete specified target or block
 DIRectory|LS [path]
       show list of specified directory/files and
       allow editing
 DOS [command...]
       execute host command; pause before returning
 DOSNowait command
       execute OS command; no pause before returning
 DOSQuiet command
       execute OS command quietly; no pause
 Down [n|*]                                                        Y
       move current line forward [n] lines
 DUPlicate [n] [target|BLOCK]                                      Y
       duplicates, n times, lines in the current target
 Edit [fileid]                                                     Y
       begin editing specified file or switch
       between files
 EMSG [message]                                                    Y
       display error message and ring bell(if BEEP ON)
 EXPand [target]                                                   Y
       expand tabs to spaces within target
 EXTract /item/[...]                                               Y
       extract values on various settings
       (only valid from a REXX macro)
 FFile [fileid]                                                    Y
       write contents of file to disk (overwritng)
       and and remove from ring
 FILE [fileid]                                                     Y
       write contents of file to disk and and remove
       from ring
 FILLbox [char]
       fill the marked block with the supplied character
 FOrward [n|*]
       move forward through file [n] screens
 GET [fileid]                                                      Y
       insert into current file contents of
       specified file
 HELP
       edit file specified by environ variable
       THE_HELP
 Input [line contents]                                             Y
       Add a line after the current line with line
       contents.
 Join [ALigned]
       Joins a line with the following line.
 [Locate] target                                                   Y
       make line identified by target become current
       line
 LOWercase [target]                                                Y
       change the uppercase characters in target
       to lowercase
 LS|DIRectory [path]
       show list of specified directory/files and
       allow editing
 MACRO filename
       The file "filename" will be invoked.
       No default extension.
 MARK Line|Box
       mark focus line block or box block
 MODify set-option
       display current setting for modification
 MOVE BLOCK [RESET]
       move marked block to focus line/column
 MSG [message]                                                     Y
       display message 
 Next [n|*]                                                        Y
       move current line forward [n] lines
 NEXTWindow
       switch between screens or to the next file
       in the ring
 NOMSG command [parameters]                                        Y
       execute command, suppressing messages
 OS [command...]
       execute host command; pause before returning
 OSNowait command
       execute OS command; no pause before returning
 OSQuiet command
       execute OS command quietly; no pause
 OVERLAYBox
       overlay the contents of the marked block over the
       characters at the current cursor position
 PRint [target][n]|LINE [text]|STRING [text]|FORMfeed|CLOSE        Y
       print specifed data to the default printer or print
       spooler
 PUT [target] [fileid]                                             Y
       write targetted lines to fileid
 PUTD [target] [fileid]                                            Y
       write targetted lines to fileid and delete
       targetted lines
 QQuit                                                             Y
       cancel any changes to file (since last
       save/autosave) and remove file from ring
 Query item                                   
       Displays values for the specified item.
 QUIT                                                              Y
       remove file from ring
 RECover [n|*]
       recover deleted or changed lines
 REDRAW
       redraw screen after disturbance
 REFRESH
       repaint screen during macro execution
 Replace [text]                                                    Y
       replaces the current/focus line with the
       specified text.
 RESet Block|Prefix|ALL
       resets the marked block and/or pending prefix
       commands
 SAVE [fileid]                                                     Y
       write changes to file to disk; remain in ring
 SCHange /string1/string2/ [target] [n] [m]
       selectively changes n occurrences of string1
       to string2 for target
 SET [parameter ..]                                                Y
       Detailed below.
 SHift Left|Right [n] [target]                                     Y
       shift text n columns within the target area
 SHOWkey
       show key pressed and command assigned
 SORT target [[[Ascending|Descending] left_col right_col] [...]]   Y
       show key pressed and command assigned
 SOS
       Not implemented as a command in itself,
       but used as a command prefix for other
       commands.
       See ("SOS Function") section below.
 SPlit [ALigned]
       Splits a line into two.
 SPLTJOIN
       split or join focus line and next line
 SSave [fileid]                                                    Y
       write changes to file to disk (overwriting);
       remain in ring
 STATus [filename]                                                 Y
       display a full screen of status information or
       output to filename as SET commands. with [filename]
       valid from profile file.
 SUSPend
       suspend THE and return to operating system
 TABCmd
       move cursor to/from command line and body or
       prefix.
 TABPre
       move cursor between body and prefix
 TEXT text
       simulate keyboard entry of text
 THE [fileid]                                                      Y
       begin editing specified file or switch
       between files
 TOP                                                               Y
       move current line to top of file
 Up [*|n]                                                          Y
       move current line up n lines
 UPPercase [target]                                                Y
       change the lowercase characters in target
       to uppercase
 Xedit [fileid]                                                    Y
       begin editing specified file or switch
       between files


 SET parameters:
 ---------------
 [SET] ARBchar ON|OFF [char]                                       Y
       sets arbitrary character processing status
       Default: OFF ?
 [SET] AUtosave OFF|[n]                                            Y
       sets frequency of automatic file saves
       Default: OFF
 [SET] BACKup ON|OFF                                               Y
       Toggles generation of "fname.BAK" on and off.
       Default: ON
 [SET] BEEP ON|OFF                                                 Y
       Toggles sounding of bell for error messages.
       Default: OFF
 [SET] CASE Mixed|Lower|Upper [Respect|Ignore] [Respect|Ignore]    Y
                              [Respect|Ignore]
       Control handling of case of characters in
       input, searches, changes, and sorting.
       Default: MIXED IGNORE RESPECT RESPECT
 [SET] CLEARScreen ON|OFF                                          Y
       indicates if screen cleared on exit
       Default: OFF
 [SET] CLOCK ON|OFF                                                Y
       turn on or off display of time
       Default: ON
 [SET] CMDArrows Retrieve|Tab Scroll|Tab Scroll|Tab                Y
       set behaviour of arrow keys
       Default: Retrieve Scroll Scroll
 [SET] CMDline Top|Bottom                                          Y
       set location of command line
       Default: Bottom
 [SET] COLOUR|COLOR area [modifier] [foreground background]        Y
       sets the colour/attribute of the indicated area
       of the screen
       Valid values for 'area':
         Filearea - area containing file lines
         CUrline  - the current line
         Block    - marked block
         CBlock   - current line if in marked block
         Cmdline  - command line
         Idline   - line containing file specific info
         Msgline  - error messages
         Arrow    - command line prompt
         PRefix   - prefix area
         Pending  - pending commands in prefix
         Scale    - line showing scale line (N/A)
         TOfeof   - *** Top of File *** and *** Bottom of File *** lines
         CTofeof  - as above if the same as current line
         Tabline  - line showing tab positions (N/A)
         SHadow   - hidden line marker lines (N/A)
         STatarea - line showing status of editing session
         Divider  - dividing line between vertical split screens
         Reserved - reserved lines
       Valid values for 'foreground' and 'background':
         BLAck,BLUe,Green,Cyan,RED,Magenta,Yellow,White
       Valid values for 'modifier':
         NORmal,BLInk,BOld,BRIght,High,REVerse,Underline
 [SET] CURLine M[+n|-n] | [+|-]n                                   Y
       set current line on screen
       Default: 6
 [SET] DIRInclude *|[Normal][System][Hidden][Readonly][Directory]
       set file mask for subsequent DIR|LS commands
       (only meaningful for DOS or OS/2)
 [SET] EOLOut CRLF|LF                                              Y
       specify line terminating character(s)
       Default: LF (Unix), CRLF (other)
 [SET] ETMODE ON|OFF                                               Y
       indicate if extended ASCII characters displayed
       Default: OFF (Unix), ON (other)
 [SET] HEX ON|OFF                                                  Y
       set behaviour of strings entered as hex
       Default: OFF
 [SET] HEXDISPLay ON|OFF                                           Y
       turn on or off display of character representation
       on status line
       Default: ON
 [SET] IMPcmscp ON|OFF                                             Y
       indicates status of implied operating system command
       processing
       Default: ON
 [SET] IMPMACro ON|OFF                                             Y
       indicates status of implied macro processing
       Default: ON
 [SET] IMPOS ON|OFF                                                Y
       indicates status of implied operating system command
       processing
       Default: ON
 [SET] INSERTMode ON|OFF|TOGGLE                                    Y
       sets insert/overwrite mode beahviour
       Default: TOGGLE
 [SET] LINENd ON|OFF [char]                                        Y
       sets LINEND value to enable multiple commands on 
       command line
       Default: OFF #
 [SET] MACROExt [ext]                                              Y
       sets default file extension for macro files
       Default: .the
 [SET] MACROPath [path]                                            Y
       sets directory for searching for macros
       Default: (current directory)
 [SET] MARGins left right [indent]                                 Y
       sets margins for wordwrap
       Default: 1 72 +0
 [SET] MSGMode ON|OFF                                              Y
       turn display of messages on or off
       Default: ON
 [SET] NEWLines Aligned|Left                                       Y
       set position of cursor after blank line added
       Default: Aligned
 [SET] NONDisp char                                                Y
       specify character to display for non-displayed
       characters
       Default: #
 [SET] NUMber ON|OFF                                               Y
       indicate if numbers are to appear in prefix area
       Default: ON
 [SET] PENDing ON|OFF|BLOCK [string]                               Y
       set status of pending prefix commands
 [SET] Point .name [OFF]                                           Y
       assign a name to a line
 [SET] PREfix ON|OFF [Left|Right]                                  Y
 [SET] PREfix Synonym newname oldname                              Y
       define if and where prefix area to be displayed or
       define a prefix synonym
 [SET] PRINTER name                                                Y
       specify command used to print lines
 [SET] REPROFile ON|OFF                                            Y
       indicate if profile command to be reexecuted
       for each file edited
       Default: OFF
 [SET] REXXOUTput File|Display n                                   Y
       indicate if REXX output to be displayed or
       captured to a file, and set line limit
       Default: DISPLAY 1000
 [SET] STAY ON|OFF                                                 Y
       control how current line is determined after
       CHANGE
       Default: ON
 [SET] TABKey Tab|Character Tab|Character                          Y
       set action of TAB key in different input modes
       Default: Tab Character
 [SET] TABS INCR n                                                 Y
       control width of tabs
       Default: 8
 [SET] TABSIn ON|OFF [n]                                           Y
       control handling of tabs when reading in file
       contents
       Default: OFF 8
 [SET] TABSOut ON|OFF [n]                                          Y
       control handling of tabs when writing out
       file contents
       Default: OFF 8
 [SET] Verify n [m|*]                                              Y
       set columns to display
       Default: 1 *
 [SET] WORDWrap ON|OFF                                             Y
       sets wordwrap on or off
       Default: 1 72 +0
 [SET] Zone n [m]                                                  Y
       control target columns for locates and changes
       Default: 1 *


 SOS functions:
 --------------
 These functions are more effective if assigned to a key.

 SOS ADDline
       insert line after focus line
 SOS CURSORAdj
       move first non-blank character of line to cursor position
 SOS DELBAck
       delete character to left of cursor
 SOS DELChar
       delete character under cursor
 SOS DELEnd
       delete all characters to right of cursor
 SOS DELLine
       delete focus line
 SOS DELWord
       delete word at or to right of cursor
 SOS DOPREfix
       When invoked, will cause commands in the
       prefix area to be executed.
 SOS EDIT
       edit file in DIR.DIR list
 SOS ENDChar
       move cursor to end or start of line
 SOS MAKECURR
       makes the command line the same line as
       the focus line
 SOS TABf
       move cursor to next tab stop
 SOS TABWORDB
       move cursor to start of previous word
 SOS TABWORDf
       move cursor to start of next word
 SOS UNDO
       restore contents of line to original


 Other key-only commands:
 -----------------------
 Commands that are all lower case CANNOT be used
 on the command line, but MUST be assigned to a
 key in order to function.

 cmatch
       find matching bracket/brace/parenthesis
       '<>{}[]()'
 control_char
       allows the user to enter control characters
 down_arrow
       move cursor down one line, scrolling if
       necessary
       (next command displayed if on command line)
 enter
       execute command on command line or next line
 left_arrow
       move cursor left one column scrolling if
       necessary
 right_arrow
       move cursor right one column scrolling if
       necessary
 up_arrow
       move cursor up one line, scrolling if
       necessary
       (prev command displayed if on command line)


 THE prefix commands:
 -------------------
 a      - add blank line
 i
 /      - make line current line
 c      - copy line
 m      - move line
 d      - delete line
 "      - duplicate line
 p      - target for c and m - prior to line
 f      - target for c and m - following line
 >      - shift line right
 <      - shift line left
 cc     - copy line block
 mm     - move line block
 dd     - delete line block
 ""     - duplicate line block
 >>     - shift line block right
 <<     - shift line block left
 .xxxxx - give name to line


 THE Targets:
 -----------
 Absolute line target:   :12
 Relative line target:   12  -4  *
 String target:          /string/   -/string/
 All lines in file:      ALL


 Default Key Assignments:
 ------------------------

 +--------------+-------------------+
 | Key Name     | Function          |
 +--------------+-------------------+
 | KEY_F1       | help              |
 | KEY_F2       | nextwindow        |
 | KEY_F3       | file              |
 | KEY_F4       | sos addline 1     |
 | KEY_F5       | sos makecurr      |
 | KEY_F6       | control_char      |
 | KEY_F7       | cmatch            |
 | KEY_F8       | recover           |
 | KEY_F9       | sos delline 1     |
 | KEY_F10      | spltjoin          |
 | KEY_F11      |                   |
 | KEY_F12      | tabpre            |
 | KEY_UP       | up_arrow          |
 | KEY_DOWN     | down_arrow        |
 | KEY_LEFT     | left_arrow        |
 | KEY_RIGHT    | right_arrow       |
 | KEY_INS      | insertmode toggle |
 | KEY_DEL      | sos delchar       |
 | KEY_HOME     | tabcmd            |
 | KEY_END      | sos endchar       |
 | KEY_PGUP     | backward 1        |
 | KEY_PGDN     | forward 1         |
 | KEY_BackSpace| sos delback       |
 | KEY_ENTER    | enter             |
 | KEY_TAB      | sos tabf          |
 | ControlA     | sos cursoradj     |
 | ControlB     | mark box          |
 | ControlC     | copy block reset  |
 | ControlD     | duplicate 1 block |
 | ControlE     | sos delend        |
 | ControlF     | fillbox           |
 | ControlG     | delete block      |
 | ControlJ     | join aligned      |
 | ControlK     | copy block        |
 | ControlL     | mark line         |
 | ControlO     | overlaybox        |
 | ControlP     | sos doprefix      |
 | ControlQ     | sos undo          |
 | ControlR     | redraw            |
 | ControlS     | split aligned     |
 | ControlU     | reset block       |
 | ControlV     | move block        |
 | ControlW     | sos delword       |
 | ControlX     | sos edit          |
 | ControlZ     | suspend           |
 +--------------+-------------------+
